1. Field of the Invention
The present invention relates to a data processing apparatus having a DMA (direct memory access) controller which controls the DMA data transfer to the image memory according to descriptor information, and a DMA data transfer method for use in the data processing apparatus.
2. Description of the Related Art
With recent developments of digital technology, the digital image forming systems, such as copiers, facsimiles, printers and scanners, wherein the image forming is executed by the digital method become widespread. In such digital image forming systems, the image memory is utilized to perform image data processing or editing. For example, the function of electronic sorting is known, and, when performing this function, while multiple images are stored in the image memory, the image forming operation is performed for the stored images. Conventionally, in order to maximize the utilization of the image memory and reduce the cost thereof, the following measures are taken.
1) The image memory is constituted by a semiconductor memory and a secondary storage device, such as a hard disk, the semiconductor memory storing control data to control the image forming system, and the secondary storage device storing the image data.
2) A semiconductor memory is used to store the image data, and, to reduce the amount of the storage, the image data is compressed, and the compressed image data is stored in the semiconductor memory.
3) A plurality of image input/output devices, such as an image scanner, a printer controller, a file server and a facsimile controller, share the same image memory to store the image data.
On the other hand, Japanese Laid-Open Patent Application No. 6-103225 discloses a DMA (direct memory access) controller which controls DMA data transfer to a memory device according to descriptor information.
If the conventional DMA controller of the above document is applied to an image forming system, the DMA controller controls the image data transfer to a region of the image memory of the image forming system according to descriptor information. Also, the image memory may be used in the form of a ring buffer. The descriptor information is a control data used for management of the image memory region. The image memory is divided into plural image regions, and a plurality of descriptors are allocated to control the DMA data transfer to the respective image regions of the image memory.
However, when executing an image editing function, such as centering or white-space margin setting, the conventional DMA controller of the above document requires that not only the input image data but also the editing control data be stored in the image memory before the execution of the image editing function.
In an image forming system having a plurality of image input/output devices, multiple image data input/output requests may occur in a concentrated manner. In such a case, it is desirable that the image forming system simultaneously perform multiple data transfer operations in parallel to meet the multiple image data input/output requests from the input/output devices, in order to make the total processing time as small as possible.
However, when the image editing function is executed by the image forming system using the conventional DMA controller, it is necessary that, during the data transfer performed for the execution of the image editing function, a large amount of the input data (not only image data but also the DMA control data) be retained in the image memory, which will increase the total image processing time. Especially when the image forming system is needed to perform the multiple data transfer operations in parallel, it is difficult that the image forming system using the conventional DMA controller to detect an appropriate start timing of the DMA data output operation after the image editing request, such as a margin setting request, is received with the input image data.
An object of the present invention is to provide an improved data processing apparatus in which the above-described problems are eliminated.
Another object of the present invention is to provide a data processing apparatus that reduces the amount of storage of input image data needed to be stored by the image memory, and quickly carries out the DMA data transfer at an appropriate timing when an image editing request is received with the input image data.
Another object of the present invention is to provide a DMA data transfer method for use in a data processing apparatus that reduces the amount of storage of input image data needed to be stored in the image memory, and quickly carries out the DMA data transfer at an appropriate timing when an image editing request is received with the input image data.
The above-mentioned objects of the present invention are achieved by a data processing apparatus including: an image memory which has a descriptor region and an image region, the image region storing a plurality of blocks of image data, the descriptor region storing a corresponding number of descriptor information blocks for the plurality of image data blocks, and a DMA controller which controls DMA data transfer of the image data blocks from the image region according to each descriptor information block in the descriptor region, the DMA controller comprising: a register which stores one of the descriptor information blocks from the descriptor region of the image memory; and a control unit which determines, at a time of occurrence of a CPU interrupt, a start timing of a DMA data output operation of the DMA controller during a DMA data input operation of the DMA controller when an image editing request contained in input image data is received, the CPU interrupt being caused to occur by an interrupt request bit of the descriptor information block read from the register.
The above-mentioned objects of the present invention are achieved by a DMA data transfer method for use in a data processing apparatus, the data processing apparatus including: an image memory which has a descriptor region and an image region, the image region storing a plurality of blocks of image data, the descriptor region storing a corresponding number of descriptor information blocks for the plurality of image data blocks; and a DMA controller which controls DMA data transfer of the image data blocks from the image region according to each descriptor information block in the descriptor region, the DMA data transfer method comprising the steps of: storing, in a register of the DMA controller, one of the descriptor information blocks from the descriptor region of the image memory; and determining, at a time of occurrence of a CPU interrupt, a start timing of a DMA data output operation of the DMA controller during a DMA data input operation of the DMA controller when an image editing request contained in input image data is received, the CPU interrupt being caused to occur by an interrupt request bit of the descriptor information block read from the register.
According to the data processing apparatus and the DMA data transfer method of the present invention, it is possible to detect an appropriate timing for performing the DMA data output operation to output the stored image data to the image memory after the image editing request is received for the input image data stored in the image memory. It is possible for the present invention to increase the efficiency of the image formation when executing the image editing function with the DMA controller and the image memory.